/*
 * 保存一些基础通用api 已支持完整的config
 * @Author:T
 * @Params method 请求方式
 * @Params url 请求地址
 * @Params desc 请求说明
 * @Params mock mock地址
 * @Params dontRrefreshToken 不需要token刷新
 * @Params dontUseToken 接口不需要传递token进行账户登录校验
 * @Params passSuccessful 直接放行响应成功 default:false 直接放行的接口不走拦截器
 * @Params passLose 直接放行响应失败 default:false 直接放行的接口不走拦截器
 * 加密功能
 * @Params encipher:false,//启用加密 （传输数据加密 不含一维字段名 二维以上对象加密过程自动转一维）
 * @Params encipherKey:false,//字段名加密
 * @Params decrypt:false,//启用解密
 * @Params decryptKey:false,//字段名需要解密
 * 防抖（仅时间范围内最后一个执行）和节流（仅时间范围内第一个执行） 可用于防重复提交功能  可同时使用但是不建议  节流防抖时间不计算在api的timeout内
 * @Params debounceTime:0  default-0 默认防抖时间为0，即为不需要，配置单位为ms,此处配置建议值：300，根据实际情况调整  建议使用在数据搜索请求，动态下拉动态检索等
 * @Params debounceKey 自定义防抖标识  默认为接口url 可以自定义为任意名称，也可多接口使用同一名称实现优先进入队列获取优先请求权限，也可将url+参数序列化之后的字符实现接口不重复参数请求
 * @Params throttleTime:0  default-0 默认节流时间为0，即为不需要，配置单位为ms,配置建议值：800，根据实际情况调整  建议使用在数据提交请求畅姐
 * @Params throttleKey 自定义节流标识  作用和使用方式同上
 */
// 公共api
const apicm	=	{
    login:{
		method:'post',
		url:'/users/login',
		desc:'登录',
		dontRrefreshToken:true,
		dontUseToken:true,
    },
	noticeCount:{
		method:'get',
        url: '/leave/count',
		desc:'通知数量',
		dontRrefreshToken:true,
	},
	getMenuList:{
		method:'get',
		url: '/menu/list',
		desc:'获取菜单',
		dontRrefreshToken:true,
	},
	getPermissionList:{
		method:'get',
		url: '/users/getPermissionList',
		desc:'获取权限列表',
		dontRrefreshToken:true,
	},
	getUserList:{
		method:'get',
		url: '/users/list',
		desc:'获取用户列表分页',
		dontRrefreshToken:true,
	},
	getAllUserList:{
		method:'get',
		url: '/users/all/list',
		desc:'获取所有用户',
		dontRrefreshToken:true,
	},
	userDel:{
		method:'post',
		url: '/users/delete',
		dontRrefreshToken:true,
		desc:'用户删除',
	},
	getRoleAllList:{
            url: '/roles/allList',
            method: 'get',
			desc:'获取全部权限',
    },
    getRoleList:{
            url: '/roles/list',
            method: 'get',
			desc:'获取全部角色',
    },
    getDeptList:{
            url: '/dept/list',
            method: 'get',
			desc:'获取全部部门',
    },
    deptOperate:{
            url: '/dept/operate',
            method: 'post',
			desc:'部门操作',
    },
	
    userSubmit:{
            url: '/users/operate',
            method: 'post',
			desc:'用户操作',
    },
    menuSubmit:{
            url: '/menu/operate',
            method: 'post',
			desc:'菜单操作',
    },
    roleOperate:{
            url: '/roles/operate',
            method: 'post',
			desc:'角色操作',
    },
    updatePermission:{
            url: '/roles/update/permission',
            method: 'post',
			desc:'角色权限操作',
    },
    getApplyList:{
            url: '/leave/list',
            method: 'get',
			desc:'获取请假列表',
    },
    leaveOperate:{
            url: '/leave/operate',
            method: 'post',
			desc:'请假操作',
    },
    leaveApprove:{
            url: '/leave/approve',
            method: 'post',
			desc:'请假审批',
    }


	// codeimg:{
	// 	method:'post',
	// 	url:'login/securitycode',
	// 	desc:'验证码图片',
	// 	dontRrefreshToken:true,
	// 	dontUseToken:true,
	// },
	// // login:{
	// // 	method:'post',
	// // 	url:'zero-oauth/oauth/encryGetToken',
	// // 	desc:'登录',
	// // 	dontRrefreshToken:true,
	// // 	dontUseToken:true,
	// // 	encipher:true,
	// // },
	// loginout:{
	// 	method:'post',
	// 	url:'zero-oauth/oauth/logout',
	// 	desc:'退出',
	// },
	// getUserInfo:{
	// 	method:'get',
	// 	url:'zero-admin/user/getUserInfo',
	// 	moclurl:'https://192.168.17.150:8091/api/saveDefault',
	// 	desc:'用户信息和权限限菜单列表'
	// },
	// resetPassword:{
	// 	method:'post',
	// 	url:'zero-admin/user/resetPassword',
	// 	desc:'修改当前账户密码'
	// },
	// refreshToken:{
	// 	method:'post',
	// 	url:'zero-oauth/oauth/token',
	// 	desc:'刷新token',
	// 	dontRrefreshToken:true,
	// },
	// getAuthCode:{
	// 	method:'post',
	// 	url:'zero-oauth/oauth/getAuthCode',
	// 	moclurl:'',
	// 	desc:'获取令牌',
	// 	dontRrefreshToken:true,
	// 	dontUseToken:true,
	// },
	// GetWXConfig:{
	// 	method:'post',
	// 	url:'https://api-bihw.eiceducation.com.cn/QuickEntry/Ajax/GetWXConfig',
	// 	moclurl:'',
	// 	desc:'获取企业微信签名',
	// 	dontRrefreshToken:true,
	// 	dontUseToken:true,
	// },
	// getCustomerComplaints:{
	// 	method:'post',
	// 	url:'/zero-complaint/open/flow/countToDoByProcessKeys',
	// 	desc:'客诉获取总条数 过度方案',
	// },
	// dfsUploadFiles:{
	// 	method:'post',
	// 	url:'/security/common/dfsUploadFiles',
	// 	desc:'上传图片',
	// 	dontRrefreshToken:true,
	// },
	// geomStMakeValid:{
	// 	method:'post',
	// 	url:'/security/harvest/harvestInfo/geomStMakeValid',
	// 	desc:'修复图层面的数据',
	// 	dontRrefreshToken:true,
	// },
	// cuttingCheck:{
	// 	method:'post',
	// 	url:'/security/harvest/harvestInfo/cuttingCheck',
	// 	desc:'核验',
	// 	dontRrefreshToken:true,
	// },
	// harvestInfodetail:{
	// 	method:'post',
	// 	url:'/security/harvest/harvestInfo/detail',
	// 	desc:'详情',
	// 	dontRrefreshToken:true,
		
	// },
	
}

const apiz={

	
}
/**
 * 不再建议通过本文件申明接口，此文件以后仅用作框架层通用接口申明
 * 使用模块独立导出接口ajax.initapi方案更优
 * 后续此处引入代码逐步删除 请勿在此处新增其他引用
 * 了解请 @Mumu
 */
/** ###################################### */
// 排重检查
const allList = {
	...apicm
}
const arr = [apiz,]
const checkRepeat=k=>allList[k]?console.warn(`请注意：ajax.${k}()方法名已存在，存在重复定义覆盖可能导致已有的功能异常`):''
arr.forEach(item=>{
	for(let k in item){
		checkRepeat(k)
		allList[k]=item[k]
	}
})

export default {
	...allList,
}
